﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using Entidad;

namespace DAO
{
    public class TipoRestauracionDAO : RestauracionInterface
    {
        public List<TipoRestauracionEnt> ObtenerTiposRestauracion()
        {
            SqlConnection con = new SqlConnection(DAO_v2.MiCadenaConexion());
            try
            {
                con.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = con;
                cmd.CommandType = System.Data.CommandType.Text;
                List<TipoRestauracionEnt> resultado = new List<TipoRestauracionEnt>();
                String comando = "SELECT id_TipoRestauracion, nombre ";
                comando += "FROM TipoRestauracion";
                cmd.CommandText = comando;
                SqlDataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    TipoRestauracionEnt leo = new TipoRestauracionEnt();
                    leo.ID_TipoRestauracion = int.Parse(dr["id_TipoRestauracion"].ToString());
                    leo.Nombre = dr["nombre"].ToString();
                    resultado.Add(leo);
                }
                dr.Close();
                return resultado;
            }
            catch (SqlException)
            {
                return null;
                throw new ApplicationException("Error al obtener los tipos de restauracion");
            }
            finally
            {
                if (con.State == System.Data.ConnectionState.Open)
                {
                    con.Close();
                }
            }
        }

        public List<RestauracionQuery> ObtenerRestauraciones(int codEjemplar)
        {
            throw new NotImplementedException();
        }

        public List<EjemplarBusquedaQueryEnt> BuscarEjemplares(List<string> filtros)
        {
            throw new NotImplementedException();
        }

        public int? ObtenerNumeroUltima(int codEjemplar)
        {
            throw new NotImplementedException();
        }



        public bool GuardarRestauracion(RestauracionEnt restauracion, List<DetalleRestauracionEnt> detalles)
        {
            throw new NotImplementedException();
        }


        public List<DetalleRestauracionEnt> ObtenerDetalles(int restauracion, int ejemplar)
        {
            throw new NotImplementedException();
        }


        public RestauracionEnt ObtenerRestauracion(int numero, int codigo)
        {
            throw new NotImplementedException();
        }


        public void ActualizarRestauracion(RestauracionEnt restauracion, List<DetalleRestauracionEnt> agregar, List<DetalleRestauracionEnt> eliminar, List<DetalleRestauracionEnt> actualizar)
        {
            throw new NotImplementedException();
        }
    }
}
